@echo off
chcp 65001 >nul
echo ========================================
echo 🔧 LeaferJS Bug 自动修复脚本
echo ========================================
echo.

REM 检查 dist 目录
if not exist "dist\dev\mp-weixin" (
    echo ❌ 错误：dist\dev\mp-weixin 目录不存在
    echo.
    echo 请先完成以下步骤：
    echo 1. 运行: npm install
    echo 2. 运行: npm run dev:mp-weixin
    echo 3. 在微信开发者工具中打开 dist\dev\mp-weixin
    echo 4. 点击「工具」-「构建 npm」
    echo 5. 然后再运行此脚本
    echo.
    pause
    exit /b 1
)

REM 检查 miniprogram_npm 目录
if not exist "dist\dev\mp-weixin\miniprogram_npm" (
    echo ❌ 错误：miniprogram_npm 目录不存在
    echo.
    echo 请先在微信开发者工具中：
    echo 1. 点击「工具」-「构建 npm」
    echo 2. 等待构建完成
    echo 3. 然后再运行此脚本
    echo.
    pause
    exit /b 1
)

echo ✅ 找到 miniprogram_npm 目录
echo.

REM 进入目录
cd dist\dev\mp-weixin\miniprogram_npm

REM 使用 PowerShell 进行替换
echo 🔍 正在查找需要修复的文件...
echo.

powershell -Command "$files = Get-ChildItem -Recurse -Filter *.js; $count = 0; foreach ($file in $files) { $content = Get-Content $file.FullName -Raw -Encoding UTF8; if ($content -match 'Object\.defineProperty\(exports, k, \{ enumerable: true, configurable: true, get: function\(\) \{ return __TEMP__\[k\]; \} \}\);') { $newContent = $content -replace 'Object\.defineProperty\(exports, k, \{ enumerable: true, configurable: true, get: function\(\) \{ return __TEMP__\[k\]; \} \}\);', 'var __TEMP2__ =__TEMP__; Object.defineProperty(exports, k, { enumerable: true, configurable: true, get: function() { return __TEMP2__[k]; } });'; Set-Content $file.FullName $newContent -Encoding UTF8 -NoNewline; $count++; Write-Host \"✅ 已修复: $($file.Name)\"; } } Write-Host \"\"; Write-Host \"📊 总计修复了 $count 个文件\""

cd ..\..\..\..

echo.
echo ========================================
echo ✅ 修复完成！
echo ========================================
echo.
echo 下一步：
echo 1. 回到微信开发者工具
echo 2. 点击「编译」按钮
echo 3. 查看控制台，应该没有错误了
echo.
pause

